1. Field of the Invention
The present invention relates to a method and system for handling multiple, overlapping access requests to a storage device from multiple host systems.
2. Description of the Related Art
In a hierarchical storage management system, data is stored in different types of storage devices depending upon the frequency of usage of the data. For instance, a system may include multiple storage media types to store data having different usage patterns and likelihoods of access. More frequently used data may be stored on direct access storage devices (DASD) comprised of high-performance rapid access storage devices, such as hard disk drives. Such readily accessible data is sometimes referred to as level zero volumes. Less frequently used data may be archived on slower and less expensive, demountable storage media, such as optical disks, magnetic tape cartridges, etc. Such archive volumes are referred to as level two storage.
A hierarchical storage management system provides mechanisms for migrating less frequently used data from level 0 to level 2 media. This provides more space for more frequently used data sets on the level 0 storage devices. If a host system attempts to access data sets maintained in level 2 storage, then software implemented in the host system would automatically cause the recall of the requested data from the level 2 to level 0 storage devices. The level 0 storage devices further store control data sets, an inventory, that the host systems utilize to access data from the storage devices.
Two common functions initiated by host systems in hierarchical storage management systems include migration and recall. Migration involves the movement of data from level 0 to level 2 storage to make more room for more frequently accessed data on the primary level 0 storage devices. If a host system attempts to access a data set that has been migrated to level 2 storage, then the recall function would be initiated to move the requested data sets from the level 2 storage to level 0.
International Business Machines Corporation (IBM.RTM.) provides the Data Facilities Storage Management Subsystem (DFSMS.RTM.) software which is included in the IBM MVS/ESA.TM. and OS/390.RTM. operating systems. This software allows host systems to perform hierarchical storage management operations, such as migration and recall. DFSMS and OS/390 are registered trademarks of IBM, and MVS/ESA is a trademark of IBM. The operation and implementation of the DFSMS system are described in IBM publications "DFSMS/MVS VIR3 General Information," IBM document no. GC26-4900-04 (IBM Copyright, 1980, 1995) and "DFSMS/MVS VIR3 DFSMShsm Storage Administration Guide," IBM document no. SH21-1076-02 (IBM Copyright 1984, 1995), which publications are incorporated herein by reference in their entirety. U.S. Pat. Nos. 4,638,424 and 4,771,375, assigned to IBM and incorporated herein by reference in their entirety, describe how contentions between multiple hosts initiating migration and recall requests to the same volume are handled.
In some systems, if a host system initiates a recall request to a volume that is already allocated to a second host system, an inventory control record maintained in the level 0 DASD indicates that a recall task needs the volume. In the DFSMS system, the inventory record for a volume is referred to as a Migration Control Volume (MCV). The recalling task, initiated by the recalling host's DFSMS software, then periodically retries to access the allocated device until the desired volume is available or until a preset number of retries of the recall request fails. After the host performing the migration completes migrating the current data set to the volume in contention, the migration task releases the volume and continues migrating data sets to another tape.
Similarly, when one host attempts a recall from a volume allocated to another host that is performing recall requests, the host system repeats the recall requests every couple of minutes. After a predetermined number of retries, the operator would be given the option to fail the recall or perform the retry sequence again. The host system processing recall requests processes all recall tasks generated by that host system before demounting the tape to allow another host system to recall data from the tape cartridge.
The storage capacity of tape cartridges and other typical level 2 storage devices has increased significantly, thereby allowing an ever increasing number of data sets to be maintained on any given tape. One effect of the increase of storage capacity is that the probability that a host system will attempt a recall from a tape cartridge that is allocated to another host system has significantly increased due to the increased number of data sets stored on the tape cartridge. Moreover, software programs that improve storage capacity utilization of tapes further increase the probability that multiple hosts will attempt recall requests of data on the same cartridge because more data sets are stored on each tape cartridge. For these reasons, the expected "wait time" a host system must wait for another host system to perform all its existing recall requests for a specific tape increases because the probability the host system will have multiple recall requests on the allocated tape cartridge has increased.
A problem arises if a host system initiates higher priority recalls than the recalls being processed by the host system currently using the tape. The host system using the tape would complete all its queued recalls having the lower priority before releasing the tape and making the tape available to be allocated to the other host system with the higher priority recalls. Accordingly, high priority recall requests from a host system may be delayed significantly until the current host system completes processing all its lower priority requests.